#include<bits/stdc++.h>
using namespace std;
using ll=long long;
ll n,m;
char s[25][25];
bool v[25][25];
ll mn,mnid;
ll bits(ll x) {
	ll s=0;
	while(x)
		s+=(x&1),x>>=1;
	return s;
}
int main() {
	freopen("indian.in","r",stdin);
	freopen("indian.out","w",stdout);
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	cin>>n>>m;
	if(n*m<=20) {
		for(int i=1;i<=n;i++)
			for(int j=1;j<=m;j++)
				cin>>s[i][j];
		mn=LONG_LONG_MAX;
		for(int i=0;i<(1<<(n*m))-1;i++) {
			bool k=0;
			memset(v,0,sizeof v);
			for(int j=1;j<=n*m;j++) {
				if(((i&(1<<(j-1)))>>(j-1))&&(s[(j+m-1)/m][(j-1)%m+1]=='.'))
					k=1;
				ll x=(j+m-1)/m,y=(j-1)%m+1;
				if(((i&(1<<(j-1)))>>(j-1))) {
					v[x][y]=1;
					v[x][y+1]=1;
					v[x][y-1]=1;
					v[x+1][y]=1;
					v[x-1][y]=1;
				}
			}
			for(int j=1;j<=n;j++) 
				for(int d=1;d<=m;d++)
					if(s[j][d]=='#'&&v[j][d]==0)
						k=1;
			if(!k) 
				if(bits(i)<mn)
					mn=bits(i),mnid=i;
		}
		for(int i=1;i<=n*m;i++) {
			if(s[(i+m-1)/m][(i-1)%m+1]=='.')
				cout<<'.';
			else
				cout<<(((mnid&(1<<(i-1))))>>(i-1));
			if(i%m==0)
				cout<<'\n';
		}
	} else {
		for(int i=1;i<=n;i++) {
			for(int j=1;j<=m;j++) {
				char gd;
				cin>>gd;
				if(gd=='.')
					cout<<'.';
				cout<<1;
			}
			cout<<'\n';
		}
	}
	return 0;
}
